package core

import (
	"github.com/robfig/cron/v3"
	"log"
)

var Cron *cron.Cron

func InitCron() {
	Cron = cron.New(cron.WithSeconds()) // 支持秒级定时任务
}

// MustGetDI 获取依赖实例（失败时panic）
func MustGetDI[T any]() T {
	var result T
	if err := container.Invoke(func(service T) {
		result = service
	}); err != nil {
		log.Panicf("Failed to get dependency: %v", err)
	}
	return result
}
